Blog

Brad Wood

January 29, 2018

Spread the word


Share your thoughts

A common question we get now is how to take a CommandBox server and wrap it in a Windows service so it starts automatically at boot time.  This is ideal for production use or just a dev site that you always want to stay running.  With this new screencast, you will learn how to take any CommandBox server and install it as a Windows service using a free tool called NSSM.

https://nssm.cc/

 

Add Your Comment

(6)

Dec 06, 2018 06:31:32 UTC

by Mark Drew

This is great! very handy! But as it's console, where does the startup log go (in case you need to debug it's start?)

Dec 06, 2018 08:21:26 UTC

by Brad Wood

Hi Mark, the console logs still go the same place they always do. You can view them with "server log" as well as looking at the log file on disk. If you need to debug a server, I recommend just running the start command manually in a terminal to debug it. NSSM also has a logging setting you can enable that will capture ALL the output of CommandBox including any output of the "server start" command itself prior to the actual server process coming online.

Sep 13, 2021 15:36:57 UTC

by Tom

Normally when I run CommandBox, the server context resides under my user profile. When CommandBox runs as a service, does this change the server context? I need to import the password file. I'm having an issue with cfconfig at the moment (you are also helping me via FaceBook Group ColdFusion Programmers at the moment) so until I can get that resolved, I'm setting up the admin manually.

Sep 13, 2021 15:56:52 UTC

by Bradley D Wood

Tom, unless otherwise configured, CommandBox will extract itself into the user home dir. When you run it as a Windows service, it will use the home directory of the Windows System account by default (unless you configure another user for it to run as) which is buried inside your windows/system32 folder. This will give you a totally separate installation of CommandBox with different settings, modules, etc. I recommend you "pin" your server home with a "commandbox.properties" file as described in the docs here: https://commandbox.ortusbooks.com/setup/installation

Nov 18, 2021 10:01:30 UTC

by Marco

Thanks for this post. One question: Isn't it possible to use some setting in the config files to keep a specific commandbox started server alive?

Nov 18, 2021 15:26:46 UTC

by Brad Wood

Marco, NSSM will actually auto-start service by default I think. It's configurable on one of the tabs I didn't show. I actually recommend you look into this CommandBox module that we made after this screencast was produced. It automatically creates the services for you with a single command and works on Windows, Linux, and Mac. https://commandbox-service-manager.ortusbooks.com/ It is a paid module ($49)

Recent Entries

12 Days of BoxLang - Day 4: TestBox

12 Days of BoxLang - Day 4: TestBox

Today we’re celebrating one of the most exciting new additions to the BoxLang ecosystem:

the TestBox BoxLang CLI Runner — a fast, native way to run your TestBox tests directly through the BoxLang Runtime. ⚡

No server required. No CommandBox needed. Just pure, ultra-fast BoxLang-powered testing from the command lineon Windows, Mac, and Linux.

If you’re building modern applications with BoxLang — web apps, CLIs, serverless functions, Android apps, or OS-level utilities — this new feature gives you a unified, flexible testing workflow you can run anywhere.

Victor Campos
Victor Campos
December 13, 2025
12 days of BoxLang - Day 3: SocketBox!

12 days of BoxLang - Day 3: SocketBox!

As BoxLang continues evolving into a modern, high-performance, JVM-based runtime, real-time communication becomes essential for the applications we all want to build: dashboards, collaboration tools, notifications, live feeds, multiplayer features, and more.

That’s where SocketBox steps in — the WebSocket upgrade listener built to work seamlessly with CommandBox and the BoxLang MiniServer. ⚡

Today, for Day 3, we’re highlighting how SocketBox supercharges BoxLang development by giving you fast, flexible, and framework-agnostic WebSocket capabilities.

Maria Jose Herrera
Maria Jose Herrera
December 12, 2025
12 Days of BoxLang - Day 2: CommandBox

12 Days of BoxLang - Day 2: CommandBox

BoxLang + CommandBox: The Enterprise Engine Behind Your Deployments

For Day 2 of our 12 Days of Christmas series, we’re diving into one of the most powerful parts of the BoxLang ecosystem: CommandBox the defacto enterprise servlet deployment platform for BoxLang.

If BoxLang is the language powering your applications, CommandBox is the engine room behind it all. ⚙️

Victor Campos
Victor Campos
December 11, 2025